package com.ming.pullloadmorerecyclerview_lib.base;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.RelativeLayout;

import androidx.annotation.Nullable;

import com.ming.pullloadmorerecyclerview_lib.enum_attr.FooterType;

public abstract class FooterView extends RelativeLayout {

    public FooterView(Context context) {
        this(context, null);
    }

    public FooterView(Context context, @Nullable AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public FooterView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    /**
     * 设置正在加载数据状态
     */
    public abstract void moreing();

    /**
     * 设置完成加载数据无更多数据状态
     */
    public abstract void nomore();

    /**
     * 设置加载数据错误状态
     */
    public abstract void error();

    /**
     * 设置脚布局状态
     */
    public void setFooterType(FooterType type) {
        switch (type) {
            case FOOTERMOREING://设置正在加载数据状态
                moreing();
                break;
            case FOOTERNOMORE://设置完成加载数据无更多数据状态
                nomore();
                break;
            case FOOTERLOADMOREERROR://设置加载数据错误状态
                error();
                break;
        }
    }
}
